package com.ndp.fb.model.fbagent.result.adset;

import com.ndp.fb.model.fbagent.result.AbstractFacebookResult;
import com.restfb.Facebook;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * Created by Evan on 2015/3/4 17:47.
 */
@Setter
@Getter
@NoArgsConstructor
public class FbAdSet extends AbstractFacebookResult
{
    /**
     * id
     */
    @Facebook("id")
    private Long id;

    /**
     * name
     */
    @Facebook("name")
    private String name;

    /**
     * account_id
     */
    @Facebook("account_id")
    private Long accountId;

    /**
     * campaign_group_id
     */
    @Facebook("campaign_id")
    private Long campaignGroupId;

    /**
     * campaign_status
     */
    @Facebook("configured_status")
    private String campaignStatus;

    @Facebook("effective_status")
    private String effectiveStatus;

    /**
     * start_time
     */
    @Facebook("start_time")
    private String startTime;

    /**
     * end_time
     */
    @Facebook("end_time")
    private String endTime;

    /**
     * created_time
     */
    @Facebook("created_time")
    private String createTime;

    /**
     * updated_time
     */
    @Facebook("updated_time")
    private String updateTime;

    /**
     * daily_budget
     */
    @Facebook("daily_budget")
    private Integer dailyBudget;

    /**
     * lifetime_budget
     */
    @Facebook("lifetime_budget")
    private Integer lifeTimeBudget;

    //Evan 2014-11-05改价变更
    /**
     * 定价类型
     */
    @Facebook("bid_type")
    private String bidType;

    /**
     * 定价信息
     */
    @Facebook("bid_info")
    private String bidInfo;

    /**
     * targeting
     */
    @Facebook("targeting")
    private String targeting;

    @Facebook("promoted_object")
    private String promotedObject;

    //v2.4
    @Facebook("ad_labels")
    private String adLabels;

    @Facebook("frequency_cap")
    private Integer frequencyCap;
    @Facebook("frequency_cap_reset_period")
    private Integer frequencyCapResetPeriod;
    @Facebook("lifetime_frequency_cap")
    private Integer lifetimeFrequencyCap;
    @Facebook("lifetime_imps")
    private Integer lifetimeImps;
    @Facebook("optimization_goal")
    private String optimizationGoal;
//    @Facebook("product_ad_behavior")
//    private String productAdBehavior;
    @Facebook("rf_prediction_id")
    private Integer rfPredictionId;
    @Facebook("rtb_flag")
    private Boolean rtbFlag;
    @Facebook("pacing_type")
    private String pacingType;
    @Facebook("budget_remaining")
    private Integer budgetRemaining;
    @Facebook("bid_amount")
    private Integer bidAmount;
    @Facebook("billing_event")
    private String billingEvent;
    @Facebook("buying_type")
    private String buyingType;
    @Facebook("is_autobid")
    private Boolean isAutobid;

    public void setIsAutobid(Boolean autobid) {
        isAutobid = autobid;
    }
}
